System for generating point cloud map and method therefor

ABSTRACT

A system for generating a point cloud map of one or more objects in real-world environment. The system including data acquisition device for acquiring plurality of data points representing objects, wherein data acquisition device is configured to acquire first set of data points for objects from first position to generate first point cloud, and acquire second set of data points for objects from second position to generate second point cloud, a server arrangement including a receiving module configured to receive first point cloud and second point cloud, registration module to register received first point cloud and received second point cloud to generate a point cloud pair which is aligned and data processing module to determine quality score for generated point cloud pair, compare determined quality score with predefined threshold value, and generate point cloud map if determined quality score is less than a predefined threshold value.

TECHNICAL FIELD

The present disclosure relates generally to three-dimensional modellingof a real-world environment; and more specifically, to generating pointcloud map of one or more objects in a real-world environment.

BACKGROUND

With the advancements in the field of computer vision and range dataprocessing, the visualization of the objects in a real-world environmentis gaining popularity. The information extracted from the digitalmodelling of an object, surface or environment is used to derivemeaningful interpretations. A digital representation of the environmenthave useful application in many fields, such as digital imaging,computer animation, special-effects in film, prototype imaging inmarketing and product development, topography, reconstructive andplastic surgery, dentistry, industrial design, anthropology, milling andobject production, biology, internal medicine, air traffic controlmanagement (for example, to model airspace surrounding an airport),architecture (for example, for modelling building, bridges, and soforth), military (for example, to depict topographical models ofbattlefields), and the like.

Several techniques have been developed to digitally represent anenvironment. Typically, devices such as Light Detection and Ranging(LIDAR) sensors are employed for capturing the objects of anenvironment. However, capturing a complete environment generallyrequires multiple range images from different viewpoints. Once theseimages are acquired, the various images must be combined (registered)either manually; or by utilizing algorithms, such as the IterativeClosest Point (ICP) algorithm to align two related captured images (or,point clouds), that are combined together to represent the environment.Such algorithms employ various techniques known in the art for alignmentof two or more captured images to obtain the complete environment.However, the conventional techniques employed for alignment do notprovide a measure of the accuracy achieved after registration. Thismight lead to unreliable data representing the environment in additionthis might lead to wasted computing resources since storing unreliabledata consumes storage space unnecessarily. Further if unreliable data isused for end application such as automatic vehicle it might leadaccidents.

Therefore, in the light of the foregoing discussion, there exists a needto overcome the aforementioned drawbacks associated with the alignmentof two captured point clouds.

SUMMARY

The present disclosure seeks to provide a system for generating a pointcloud map of one or more objects in a real-world environment. Thepresent disclosure also seeks to provide a method for generating a pointcloud map of one or more objects in a real-world environment. Thepresent disclosure seeks to provide a solution to the existing problemof errors arising while aligning and registration of two or more pointclouds. An aim of the present disclosure is to provide a solution thatovercomes at least partially the problems encountered in prior art, andprovides an efficient, robust, computationally fast system forgenerating point cloud maps for one or more objects with enhancedaccuracy. Additionally, the present disclosure aims at eliminatingmanual intervention in generation of point clouds and thereby reducingthe possibility of errors arising thereby.

In one aspect, an embodiment of the present disclosure provides a systemfor generating a point cloud map of one or more objects in a real-worldenvironment, the system comprising:

-   -   at least one data acquisition device for acquiring a plurality        of data points representing one or more objects, wherein the at        least one data acquisition device is configured to:    -   acquire a first set of data points for the one or more objects        from a first position to generate a first point cloud, and    -   acquire a second set of data points for the one or more objects        from a second position to generate a second point cloud;    -   a server arrangement communicatively coupled to the data        acquisition device, wherein the server arrangement comprises:    -   a receiving module configured to receive the first point cloud        and the second point cloud from the data acquisition device;    -   a registration module configured to register the received first        point cloud and the received second point cloud to generate a        point cloud pair which is aligned; and    -   a data processing module configured to:    -   determine a quality score for the generated point cloud pair,    -   compare the determined quality score with a predefined threshold        value, and    -   generate a point cloud map using the first point cloud and the        second point cloud if the determined quality score is less than        a predefined threshold value.

In another aspect, the present disclosure provides a method forgenerating a point cloud map of one or more objects in a real-worldenvironment, the method comprising:

-   -   acquiring a first set of data points for the one or more objects        from a first position to generate a first point cloud;    -   acquiring a second set of data points for the one or more        objects from a second position to generate a second point cloud;    -   registering the first point cloud and the second point cloud to        generate a point cloud pair which is aligned;    -   determining a quality score for the generated point cloud pair;    -   comparing the determined quality score with a predefined        threshold value; and    -   generating a point cloud map using the first point cloud and the        second point cloud if the determined quality score is less than        a predefined threshold value.

Embodiments of the present disclosure substantially eliminate or atleast partially address the aforementioned problems in the prior art,and enables truthful and accurate generation of a point cloud map of theobjects in the real-world environment.

Additional aspects, advantages, features and objects of the presentdisclosure would be made apparent from the drawings and the detaileddescription of the illustrative embodiments construed in conjunctionwith the appended claims that follow.

It will be appreciated that features of the present disclosure aresusceptible to being combined in various combinations without departingfrom the scope of the present disclosure as defined by the appendedclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

The summary above, as well as the following detailed description ofillustrative embodiments, is better understood when read in conjunctionwith the appended drawings. For the purpose of illustrating the presentdisclosure, exemplary constructions of the disclosure are shown in thedrawings. However, the present disclosure is not limited to specificmethods and instrumentalities disclosed herein. Moreover, those in theart will understand that the drawings are not to scale. Whereverpossible, like elements have been indicated by identical numbers.

Embodiments of the present disclosure will now be described, by way ofexample only, with reference to the following diagrams wherein:

FIG. 1 is a schematic illustration of a system for generating pointcloud map of one or more objects in a real-world environment, inaccordance with an embodiment of the present disclosure;

FIG. 2A and FIG. 2B are schematic illustrations of an exemplaryimplementation of a system for generating point cloud map of one or moreobjects in a real-world environment, in accordance with variousembodiments of the present disclosure;

FIGS. 3A-3F are schematic illustrations of various steps involved incapturing and alignment of two point clouds, in accordance with variousembodiments of the present disclosure; and

FIG. 4 is a schematic illustration of steps of a method for generatingpoint cloud map of one or more objects in a real-world environment, inaccordance with an embodiment of the present disclosure.

In the accompanying drawings, an underlined number is employed torepresent an item over which the underlined number is positioned or anitem to which the underlined number is adjacent. A non-underlined numberrelates to an item identified by a line linking the non-underlinednumber to the item. When a number is non-underlined and accompanied byan associated arrow, the non-underlined number is used to identify ageneral item at which the arrow is pointing.

DETAILED DESCRIPTION OF EMBODIMENTS

The following detailed description illustrates embodiments of thepresent disclosure and ways in which they can be implemented. Althoughsome modes of carrying out the present disclosure have been disclosed,those skilled in the art would recognize that other embodiments forcarrying out or practicing the present disclosure are also possible.

In one aspect, an embodiment of the present disclosure provides a systemfor generating a point cloud map of one or more objects in a real-worldenvironment, the system comprising:

-   -   at least one data acquisition device for acquiring a plurality        of data points representing one or more objects, wherein the at        least one data acquisition device data acquisition device is        configured to:    -   acquire a first set of data points for the one or more objects        from a first position to generate a first point cloud, and    -   acquire a second set of data points for the one or more objects        from a second position to generate a second point cloud;    -   a server arrangement communicatively coupled to the data        acquisition device, wherein the server arrangement comprises:    -   a receiving module configured to receive the first point cloud        and the second point cloud from the data acquisition device;    -   a registration module configured to register the received first        point cloud and the received second point cloud to generate a        point cloud pair which is aligned; and    -   a data processing module configured to:    -   determine a quality score for the generated point cloud pair,    -   compare the determined quality score with a predefined threshold        value, and    -   generate a point cloud map using the first point cloud and the        second point cloud if the determined quality score is less than        a predefined threshold value.

In another aspect, the present disclosure provides a method forgenerating a point cloud map of one or more objects in a real-worldenvironment, the method comprising:

-   -   acquiring a first set of data points for the one or more objects        from a first position to generate a first point cloud;    -   acquiring a second set of data points for the one or more        objects from a second position to generate a second point cloud;    -   registering the received first point cloud and the received        second point cloud to generate a point cloud pair which is        aligned;    -   determining a quality score for the generated point cloud pair;    -   comparing the determined quality score with a predefined        threshold value; and    -   generating a point cloud map using the first point cloud and the        second point cloud if the determined quality score is less than        a predefined threshold value.

The present disclosure provides a system for generating point cloud mapof one or more objects in a real-world environment in an accurate andefficient manner. In particular, the present disclosure provides ametric for registration of two point clouds. Herein, the determinedquality score provides the metric to verify whether point clouds aresuccessfully registered. It may be appreciated that the generated pointclouds can be utilized for three-dimensional modelling in variousfields, such as autonomous vehicle driving systems.

Throughout the present disclosure, the term “point cloud” refers to acollection of points of one or more objects described in athree-dimensional (3D) coordinate system that describes one or moreobjects in a three-dimensional scene/space. Typically, the points in apoint cloud represent surfaces of objects, such as an external surface.The points in a point cloud, typically represent a complete set of (x,y, z) locations that represent the shape of an object. The point cloudsmay be used for performing various operations such as, for example,object identification, object classification, scene visualization,segmentation, two-dimensional image data enhancement, and/or other typesof operations. It will be appreciated that the point cloud can begenerated using a variety of data acquisition devices that scan thelocation to identify one or more points of the object, wherein eachidentified point is represented as a polar coordinate, since the anglebetween the data acquisition device and the object and distance from thedata acquisition device to the object can be determined. The polarcoordinates are then converted to 3D Cartesian coordinates and storedalong with a corresponding intensity or colour value for the data pointcollected by the data acquisition device. Hereinafter, the term “datapoint” is used to refer each point scanned by the data acquisitiondevice containing location information along with additional informationsuch as intensity, colour and the like.

Throughout the present disclosure the term “point cloud map” refers toan organized collection of point clouds that meaningfully represent anobject or a scene. Generally, two or more point clouds are aligned andregistered together by employing various registration techniques togenerate a complete view of the targeted object, scene or environment.Furthermore, in order to obtain the complete point cloud map of thescanned object or environment, it is necessary to integrate the part ofthe surface point cloud data obtained from different positions andangles. Moreover, two or more point clouds are registered to find a 3Dtransformation, so that the 3D coordinates of the point cloud atdifferent angles can be correctly matched and overlapped to obtain thecomplete three-dimensional view or model of the targeted object, sceneor environment, which is represented using the point cloud map.

According to an embodiment, the system comprises a data acquisitiondevice configured to acquire a plurality of data points representing oneor more objects in a real-world environment. Throughout the presentdisclosure, the term “data acquisition device” refers to scanningdevices that produce digital data in the form of point cloudrepresenting an object or a scene in a real-world environment.Typically, the data acquisition device refers to a collection of one ormore programmable and/or non-programmable components that are configuredto capture data describing one or more features of a real-world objector environment. The data describing one or more features of a real-worldobject or environment refers to information that can be used toconstruct digital, three-dimensional models useful for a wide variety ofapplications. In an example, the programmable component may be a laserscanner, such as Light Detection and Ranging (LiDAR). The LiDAR performscontrolled steering of laser beams with a laser rangefinder to capturedata describing a feature, namely a distance measurement at everydirection of the real-world object, thereby capturing the surface shapeof the real-world object. Herein, the data acquisition device isconfigured in a manner that the data acquisition device captures thedata (distance measurement) related to the real-world object fromdifferent viewing angles, or the admixing of other known constraints forconstructing a three-dimensional model, namely a non-contactthree-dimensional model of the real-world object. It will be appreciatedthat, the data captured by the data acquisition device is processed byone or more computer program or routines for generating thethree-dimensional model of the real-world environment.

The data acquisition device is configured to acquire a first set of datapoints for the one or more objects from a first position to generate afirst point cloud. Further, the data acquisition device is configured toacquire a second set of data points for the one or more objects from asecond position to generate a second point cloud. Notably, the firstpoint cloud from the first position encompasses information about aportion of the targeted object, and the second point cloud encompassesinformation about another portion of the targeted object, wherein thetwo portions overlap each other. In an example, for acquiring datapoints for an object, the first point cloud may represent a portion ofthe object from a left view and the second point cloud may represent aportion of the object from a right view.

It will be appreciated that the terms “first point cloud” and “secondpoint cloud” should not unduly limit the scope of the claims herein. Theterms “first point cloud” and “second point cloud” are only indicativeof two point clouds to be registered to generate a point cloud map. Itshall be understood that the data acquisition device can be configuredto acquire as many point clouds as required for generating the pointcloud map. Hereinafter, for the sake of simplicity and clarity, any twopoint clouds to be registered from the multitude of acquired pointclouds are termed as “first point cloud” and “second point cloud”without any limitations.

According to an embodiment, the system comprises two data acquisitiondevices arranged at two different positions, wherein one of the two dataacquisition device is configured to acquire the first point cloud andother of the two data acquisition device is configured to acquire thesecond point cloud. Optionally, a plurality of data acquisition devicesmay be arranged at a plurality of positions to acquire a multitude ofpoint clouds pertaining to one or more objects in a real-worldenvironment. In an example, a number of data acquisition devices may beemployed around a border or boundary stretched over a vast expanse forimaging and detection of objects in and around the border by generatingpoint cloud map for the area under surveillance. Notably, the firstpoint cloud and the second point cloud may be acquired at the sameinstant of time by employing two data acquisition devices arranged attwo different positions and in sync with each other.

The data acquisition devices include, but are not limited to, one ormore of a LiDAR (Light Detection and Ranging), a RADAR (Radio Detectionand Ranging), 3D Scanner (Three-dimensional Scanner) and a camera. In anexample, the data acquisition device is a LiDAR that transmits a LASERoutput, such as a pulse into the real-world environment. Subsequently,the LiDAR will receive a reflection of this LASER output from an objectin the real-world environment, and the LiDAR receiver will process thereceived reflection to determine a distance to such an object (rangeinformation). Such several reflections from the objects in thereal-world environment constitute data points. Further, an organizedcollection of such plurality of data points generate a point cloud.

According to another embodiment, the system comprises one dataacquisition device mounted on a vehicle operable to move between thefirst position and the second position, wherein the data acquisitiondevice is configured to acquire the first point cloud when the vehicleis at the first position and the second point cloud when the vehicle isat the second position. Herein, the first point cloud and the secondpoint cloud are acquired consecutively in time by employing a same dataacquisition device which is configured to move from the first positionto the second position. Optionally, the data acquisition device isconfigured to have a relative motion with respect to the one or moreobjects in a real-world environment to acquire the first point cloudwhen at the first position and the second point cloud when at the secondposition. In an example, the data acquisition device may be mounted onan Unmanned Aerial Vehicle (UAV), a Micro Aerial Vehicle (MAV), a drivenvehicle, an autonomous vehicle, an autonomous robotic system and thelike to acquire point clouds pertaining to objects from a plurality ofpositions.

In some embodiments, the data acquisition device is fixed at oneposition and is configured to rotate to scan the objects around thereof.For example, the data acquisition device may be mounted on a trafficsignal, operable to rotate and scan the traffic status around thesignal, and therefrom monitor and control the traffic status bygenerating point cloud maps to estimate the vehicular movement aroundthe signal.

Optionally, the system comprises a database arrangement configured tostore the first point cloud and the second point cloud acquired by thedata acquisition device. Notably, the database arrangement iscommunicatively coupled to the server arrangement and the dataacquisition device. Generally, the term “database arrangement” refers tohardware, software, firmware, or a combination of these for storingpoint clouds in an organized (namely, structured) manner, thereby,allowing for easy storage, access (namely, retrieval), and analysis ofpoint clouds. The term “database” also encompasses database servers thatprovide the aforesaid database services to the system for generatingpoint clouds.

According to an embodiment, the system comprises a server arrangementcommunicatively coupled to the data acquisition device. The serverarrangement is configured to receive and process the first point cloudand the second point cloud to generate the point cloud map. The serverarrangement comprises a receiving module, a registration module and adata processing module. It will be appreciated that the serverarrangement can be implemented in several ways. In an example, thereceiving module, the registration module and the data processing modulemay be executed in a single computing device. In another example, thereceiving module, the registration module and the data processing modulemay be executed in a distributed computing arrangement. In yet anotherexample, the server arrangement could be implemented by way of a cloudserver arrangement.

Notably, the components of the system are in communication with eachother via a communication network. It will be appreciated that thecommunication network can be an individual network, or a collection ofindividual networks that are interconnected with each other to functionas a single large network. The communication network may be wired,wireless, or a combination thereof. Examples of the individual networksinclude, but are not limited to, Local Area Networks (LANs), Wide AreaNetworks (WANs), Metropolitan Area Networks (MANs), Wireless LANs(WLANs), Wireless WANs (WWANs), Wireless MANs (WMANs), the Internet,radio networks, telecommunication networks, and WorldwideInteroperability for Microwave Access (WiMAX) networks. Generally, theterm “internet” relates to any collection of networks using standardprotocols. For example, the term includes a collection of interconnected(public and/or private) networks that are linked together by a set ofstandard protocols (such as TCP/IP, HTTP, and FTP) to form a global,distributed network. While this term is intended to refer to what is nowcommonly known as the Internet, it is also intended to encompassvariations that may be made in the future, including changes andadditions to existing standard protocols or integration with other media(e.g., television, radio, etc.). The term is also intended to encompassnon-public networks such as private (e.g., corporate) Intranets.

According to an embodiment, the receiving module is configured toreceive the first point cloud and the second point cloud acquired by thedata acquisition device. Optionally, the receiving module is alsoequipped with specialized filters to filter out the unwanted noise andclutter associated with the point clouds acquired by the dataacquisition devices. For instance, the point clouds received by thereceiving module may be distorted due to multiple reflections or echoesfrom the environment or some other natural causes of distortion, such asscattering, dispersion, attenuation and the like. In such a case, thereceiving module is configured to filter the unwanted noise and clutterto obtain undistorted point clouds for further processing.

According to an embodiment, the registration module is configured toregister the received first point cloud and the received second pointcloud to generate a point cloud pair which is aligned. The generatedpoint could pair might be registered. An example of aligning is byaligning each of the data points in the first point cloud to each of thecorresponding data points in the second point cloud. The registrationmodule computes a transformation matrix to align the first point cloudand the second point cloud. The transformation matrix containstranslation coefficients and rotation coefficients to be applied on thefirst point cloud and the second point cloud to register and generate apoint cloud pair. Notably, a variety of registration techniques may beemployed for registering the first point cloud and the second pointcloud to generate the point cloud pair. Notably, the transformationmatrix is generated for a pairwise registration, wherein each of thepoint cloud pair is registered corresponding to a differenttransformation matrix. Further, the transformation matrix is generatedfor a multi-view registration, wherein a global matrix is computed forthe all the generated point cloud pairs to generate the point cloud mapfor the object or scene. Generally, the registration techniques includecoarse registration techniques and fine registration techniques. Thecoarse registration techniques refer to registration based on point,line and surface features. For example, in LiDAR point cloudregistration, these features may include building corners, contours,road networks, roof patches, and the like. Furthermore, fineregistration are iterative approximation methods, random sampleconsensus methods, normal distributions transform methods, and the like.In an example, the Iterative Closest Point (ICP) algorithm is employedfor registration of the first point cloud and the second point cloud.For the ICP algorithm initial location estimates are needed. A number ofdata points are selected from the first point cloud to be registered,and the data points corresponding to data points in the second pointcloud are then identified. The transformation matrix is obtained byminimizing the error between the selected data points in the first pointcloud and in the second point cloud. Repeated iterations are performeduntil the registration point cloud pair is obtained.

According to an embodiment, the data processing module is configured todetermine a quality score for the generated point cloud pair. Herein,the quality score is determined based on an error values calculated bydetermining summation of the squared distances between the data pointsin the first point cloud to the corresponding closest points in thesecond point cloud within a defined radii. Optionally the dataprocessing module employs an algorithm of robust statistics to generatea dynamic radius value on the distance allowed between the closest datapoints from the first point cloud to the second point cloud. Therefore,instead of calculating distances for all the data points in the firstpoint cloud to the corresponding closest data points in the second pointcloud, only the data points within the defined radius are calculated andanalysed. Further, the data processing module is configured to choosethe data point pairs from the first point cloud and the second pointcloud that will be evaluated. Thus, each data point in the first pointcloud whose distance to its closest data point in the second point isless than the defined radius is retained. Thereafter, the error value iscalculated for the retained data point pairs. Such a system forcalculating error value ensures higher accuracy of alignment, and thushigher successful registrations. This also makes the present systemcapable of registering partially overlapping data sets in the pointcloud while reducing the needed computational power at the same time.Further, as the quality metrics related to embodiments give indicationwhich registrations are viable in a reliable matter, the process,according to embodiments makes it possible to register thousands ofclouds is faster using less computational power. It will be appreciatedthat the value of radii defined for the point cloud pair is dynamic innature. In other words, the radii defined is different for differentpoint cloud pairs depending upon the nature of point clouds to beregistered.

In an embodiment, the quality score is determined based on error valuesfor the generated point cloud pair, wherein the error value iscalculated by a mathematical formula:E(r)=√{square root over (Σ_(x∈S) _(r) (d(x,T))² /|S _(r)|)},wherein ‘S’ represents the first point cloud, ‘T’ represents the secondpoint cloud, ‘x’ represents the data points in the point cloud ‘S_(r)’,d(x,T) is the distance from each data point ‘x’ in the first point cloud‘S_(r)’ to the closest data point in the second point cloud ‘T’, ‘r’represents radius defined for pairing of each of the plurality of datapoints in the first point cloud ‘S’ to the corresponding data point inthe second point cloud ‘T’, and S_(r) represents set of all data points‘x’ from the first point cloud ‘S’ satisfying d(x,T)<r.

In an embodiment, the quality score is determined by assessing the shapeof the error function. Further, in an embodiment, the data processingmodule is configured to calculate a rate of change (in an embodiment therate of change is positive i.e. increasing) of the error value for thegenerated point cloud pair between corresponding pairs of data pointsthereof. The rate of increase of the error value is determined byapproximating a derivative value at regular intervals for the errorfunction. In such embodiment, the quality score is one error value,provided that the rate of increase is small enough everywhere. In deedaccording to additional or alternative embodiment the quality score is acontext dependent ‘r’ if the rate of change of the error value is lessthan a predetermined change threshold value. In such case the value of‘r’ is typically small.

As an example the error function E is the root mean square error of alldistances smaller than r, from S to closest point in T. In such a case Eis increasing function but stops increasing at some point. The rate ofincrease of the function is of particular interest. If the rate ofincrease at any point is larger than a context dependent threshold valueL, this indicates a misalignment. In this case no quality score isprovided or needed. Thus approximate the derivative E′ at regularintervals, and if one of them is bigger than a properly chosen thresholdvalue L, there is a misalignment. If E′ is below the thresholdeverywhere, this indicates that there is no big error in the alignment,and E(r) with some context dependent small number r can be used as thequality score. If this quality score is smaller than a predefinedthreshold, then the alignment is correct. In practice the contextdependent parameters described above depend on the scale of the pointclouds (small objects, indoors, tunnels, open area), and some study isneeded to determine those for each use case.

According to an embodiment, the data processing module is configured tocompare the calculated quality score with a predefined threshold value.Further, a point cloud map is generated using the first point cloud andthe second point cloud if the determined quality is less than apredefined threshold value. Notably, the threshold value is definedbased on at least one of the one or more objects and the real-worldenvironment. It may be appreciated that there may be significantdifferences in threshold values for different scenarios due to widerange of applications of the present system. For example, in small-scaledigital archiving of cultural heritage sites, the threshold value forpoint cloud registration is generally small, and thus the quality scorealso has to be low enough. In contrast, in large-scale geographicalapplications, due to diversity of surface topology and morphology, thethreshold value for point cloud registration is comparatively high, andthus even a relatively high quality score may be sufficient. Afterperforming registration of the first point cloud and the second pointcloud, using any suitable registration technique, it may therefore be aprerequisite to calculate the quality score of the generated point cloudpair and perform the comparison with predefined threshold value, inorder to select the suitable generated point cloud pairs for generatingfinal point cloud map.

Notably, the quality score is a qualitative measure of the degree ofalignment of the first point cloud and the second point cloud.Furthermore, the quality score is a metric to determine whether theregistration process is successful or unsuccessful. It is to be notedthat the failure in the registration process can occur due to a numberof reasons, such as when the overlap between the two surfaces isinsufficient, when the range measurement error (i.e. the unambiguousrange) is too large, or when the geometric constraint on the 3Drigid-body transformation between the two surfaces is insufficient (forexample, when a plane is being registered to another plane) or when theinitial relative position between the two surfaces is large.

According to another embodiment, the data processing module isconfigured to compare the calculated error value with a predeterminedthreshold value to determine whether the registration process issuccessful or unsuccessful. When the calculated error value is less thanthe predetermined threshold value, the registration process issuccessful and the point cloud map is generated using the first pointcloud and the second point cloud. Further, when the calculated errorvalue exceeds the predetermined threshold value, the registration isunsuccessful. The data processing module is configured to compare theaforementioned derivative of the error function at regular intervalswith the predefined threshold. The derivative of the error function iscompared with the predetermined threshold at each interval. When thederivative of the error value is less than the predetermined thresholdat each of the intervals for which derivative is approximated, the twopoints clouds are aligned successfully and the registration process issuccessful. Further, when the derivative of the error value exceeds thepredetermined threshold in at least one of the intervals for whichderivative is calculated, the two point clouds are misaligned and theregistration process is unsuccessful.

According to an embodiment, the data processing module is furtherconfigured to instruct the registration module to register the firstpoint cloud and a third point cloud to generate another point cloud pairif the determined quality score is bigger than the predefined thresholdvalue. Notably, if the previously determined quality score is biggerthan the predefined threshold value, that indicates there is amisalignment in the first point cloud and the second point cloud whichcould lead to a failure in the registration of two point clouds. Sincethe data acquisition device is configured to acquire a plurality ofpoint clouds from different positions, in case of failure ofregistration of the first point cloud and the second point cloud, thedata processing module instructs the registration module to register thefirst point cloud and the third point cloud to generate another pointcloud. The process of registration of two point clouds continues untilthe required number of successful registrations is achieved and thepoint cloud map is successfully generated. Therefore, such a systemensures that the generated point cloud map is an accurate and truthfuldepiction of the objects being modelled. Further, the computationalpower of the system is reduced considerably as only selective pointclouds are registered to generate the point cloud map.

In an example, there may be a series of 5 point clouds, namely pointcloud 1, point cloud 2, point cloud 3, point cloud 4 and point cloud 5,acquired via the data acquisition device representing an object.Further, it may be defined that the system needs only two number ofsuccessful registrations for generating required point cloud map. Insuch an example, the registration module registers the point cloudnumber 1 (first point cloud) with, say, the point cloud number 2 (secondpoint cloud), and further, the point cloud number 3 (first point cloud)with, say, the point cloud number 4 (second point cloud); oralternatively, the point cloud pair (first point cloud) from the pointcloud number 1 and the point cloud number 2 with, say, the point cloudnumber 3 (second point cloud); and if both the registrations may besuccessful, there is no need to analyse the remaining point clouds, thusconsiderably reducing the computational power. Further, when theregistration is unsuccessful, the registration module registers pointcloud number 2 (first point cloud) with, say, point cloud number 4(second point cloud), and point cloud number 3 (first point cloud) withpoint cloud number 5 (second point cloud) until the required number ofsuccessful registrations are achieved. It will be appreciated that thefirst point cloud and second point cloud need not be consecutive pointclouds in the series of five acquired point clouds. In some examples,the present disclosure also provides a process to compare variousregistration techniques and select the best registration technique basedon the determined quality score for a particular modelling application.

In an exemplary implementation, the generated point cloud map isimplemented for autonomous driving of a vehicle. The data acquisitiondevice such as, a LiDAR is mounted on the vehicle, wherein the LiDAR isconfigured to rotate to scan the one or more objects in the real-worldenvironment. The data acquisition device acquires a plurality of datapoints pertaining to objects such as vehicles, trees, barricades,boulders, and traffic cones. Notably, as the LiDAR is configured torotate, a plurality of point clouds are acquired from the objects in thereal-world environment. Furthermore, the LiDAR acquires a plurality ofset of data points for the one or more objects from different positionsto generate a plurality of point clouds representing the real-worldenvironment. Optionally, the plurality of point clouds are stored indatabase arrangement. Further, the receiving module is configured toselect a first point cloud and a second point cloud from a plurality ofpoint clouds stored in the database arrangement. Further, theregistration module is configured to register the received first pointcloud and the received second point cloud to generate a point cloud pairwhich is aligned. Example of alignment is by aligning each of the datapoints in the first point cloud to each of the corresponding data pointsin the second point cloud. Further, the data processing module isconfigured to determine a quality score for the generated point cloudpair. The determined quality score is compared with a predefinedthreshold value. When the determined quality score is below a predefinedthreshold value, a point cloud map using the first point cloud and thesecond point cloud is generated. The point cloud map represents theobjects in the real-world environment and such generated point cloud mapcan be implemented for creating virtual maps, and thereby employed forautonomous driving of vehicles. As an example the generated point cloudmap can be used for controlling autonomous vehicle. Based on additionalor alternative embodiment the predetermined threshold value can bevaried depending on driving conditions of the autonomous vehicle. As anexample of the driving conditions can be speed, weather, congestion,time of day, time of year, road type or alike. For example if a speed ofthe autonomous vehicle is high (or for example if weather conditions arebad) the predetermined threshold value can be a varied to ensure moreaccurate point could map to be used if needed.

The present disclosure also relates to the method of generating datavisualization. Various embodiments and variants disclosed above applymutatis mutandis to the method.

Optionally, the method further comprises calculating an error value forthe generated point cloud pair:E(r)=√{square root over (Σ_(x∈S) _(r) (d(x,T))² /|S _(r)|)},wherein ‘S’ represents the first point cloud, ‘T’ represents the secondpoint cloud, ‘x’ represents the data points in the first point cloud‘S_(r)’, d(x,T) is the distance from each data point ‘x’ in the firstpoint cloud ‘S_(r)’ to the closest data point in the second point cloud‘T’, ‘r’ represents radius defined for pairing of each of the pluralityof data points in the first point cloud ‘S’ to the corresponding datapoint in the second point cloud ‘T’, and S_(r) represents set of alldata points ‘x’ from the first point cloud ‘S’ satisfying d(x,T)<r.

Optionally, the method further comprises registering the first pointcloud and a third point cloud to generate and register another pointcloud pair, if the determined quality score is bigger than thepredefined threshold value.

DETAILED DESCRIPTION OF THE DRAWINGS

Referring to FIG. 1, illustrated is a schematic representation of asystem 100 for generating point cloud map of one or more objects in areal-world environment, in accordance with an embodiment of the presentdisclosure. As illustrated, the system 100 comprises a first dataacquisition device 102 to acquire a first set of data points for theobject 104 from a first position to generate a first point cloud, and asecond data acquisition device 106 to acquire a second set of datapoints for the object 104 from a second position to generate a secondpoint cloud. Further, the system 100 comprises a server arrangement 108communicatively coupled to the first data acquisition device 102 and thesecond data acquisition device 106. Notably, the server arrangement 108comprises a receiving module 110 configured to receive the first pointcloud and the second point cloud from the first data acquisition device102 and the second data acquisition device 106 respectively; aregistration module 112 configured to register the received first pointcloud and the received second point cloud to generate a point cloud pairwhich is aligned, and a data processing module 114 configured todetermine a quality score for the generated point cloud pair andgenerate a point cloud map of the one or more objects in the real-worldenvironment.

Referring to FIG. 2A, illustrated is a schematic representation of anexemplary implementation of two data acquisition devices, namely a firstdata acquisition device 208 and a second data acquisition device 210,acquiring point clouds for objects 202, 204 and 206, in accordance withan embodiment of the present disclosure. As illustrated, the first dataacquisition device 208 is configured to acquire point clouds 202A, 204A,and 206A from a first position. Further, the second data acquisitiondevice 210 is configured to acquire point clouds 202B, 204B, and 206Bfrom a second position.

Referring to FIG. 2B, illustrated is a schematic representation of aprocess 200 for generating a point cloud map 212 of the objects 202, 204and 206, in accordance with an embodiment of the present disclosure. Asillustrated, at step 214, the received point clouds 202A, 204A, and 206Afrom the first data acquisition device 208 and the received point clouds202B, 204B, and 206B from the second data acquisition device 210 (ofFIG. 2A) are registered together by aligning each of the data points inthe point clouds 202A, 204A, and 206A to each of the corresponding datapoints in the point clouds 202B, 204B, and 206B, respectively. Notably,the point cloud 202A is registered with point cloud 202B to generate apoint cloud pair 216, the point cloud 204A is registered with pointcloud 204B to generate a point cloud pair 218, the point cloud 206A isregistered with point cloud 206B to generate a point cloud pair 220.Further, the point cloud pairs 206, 218 and 220 collectively generatethe point cloud map 212. At step 222, a quality score is determined, byexamining the error function, for each of the point cloud pairs 206, 218and 220. At step 224, the calculated quality score(s) is compared with apredefined threshold value and a decision is made based on thecomparison. As shown, step 226 is executed when the calculated qualityscore is less than the predefined threshold value, indicating asuccessful registration. At step 226, the point cloud map 212 isgenerated. When the calculated quality score bigger than the predefinedthreshold value, the steps 214, 222 and 224 are executed and repeateduntil the registration is successful.

Referring to FIGS. 3A-3C in combination, illustrated are schematicrepresentations of point clouds 302A and 302B generated for an L-shapedpath 304, as acquired by at least one data acquisition device from twolocations “A” and “B”, in accordance with an exemplary implementation ofthe present disclosure. As illustrated, the L-shaped path 304 is scannedfrom the location “A” to generate the point cloud 302A and the L-shapedpath 304 is scanned from the location “B” to generate the point cloud302B.

Referring to FIGS. 3D-3F in combination, illustrated are schematicrepresentations of different scenarios of alignments of the point cloud302A from the location “A” and the point cloud 302B from the location“B”, in accordance with various exemplary implementations of the presentdisclosure. As illustrated in FIG. 3D, the point cloud map 306 isgenerated by aligning the data points from point cloud 302A to thecorresponding data points in the point cloud 302B considering a definedradius which is small, and the error value is calculated. In this case,the quality score may be smaller than the predefined threshold value;and thus, the registration is considered successful. Further in 306, asthe alignment is “correct” the error function does not grow too fast(i.e. it grows slower than predetermined threshold parameter of derivateof the growth). Further the value of the error function with thesmallest r is less than the second threshold parameter. As illustratedin FIG. 3E, the point cloud map 308 is generated by aligning the datapoints in the point cloud 302A to the corresponding data points in thepoint cloud 302B considering a defined radius which is relativelyhigher, and the error value is calculated. In this case there is someerror but the error function might not grow too fast (i.e. grows slowerthan predetermined threshold parameter of derivate of the growth).However the error value with the smallest r is too high. In this casethe quality score is greater than the predefined threshold value; andthus, the registration is considered unsuccessful. As illustrated inFIG. 3F, the point cloud map 310 is generated by aligning the datapoints in the point cloud 302A to the corresponding data points in thepoint cloud 302B, and the error function is examined. In this case thereis a big error in the alignment. The error value with the smallest rmight be small enough (less than the predetermined second thresholdparameter) but the growth rate of the error function is too fast leadingto rejection (i.e. derivate is above predetermined threshold) In thiscase, the alignment is rejected and there is no need to calculate thequality score.

Referring to FIG. 4, illustrated are steps of a method 400 forgenerating point cloud map of one or more objects in a real-worldenvironment, in accordance with an embodiment of the present disclosure.At step 402, a first set of data points is acquired for the one or moreobjects from a first position to generate a first point cloud. At step404, a second set of data points is acquired for the one or more objectsfrom a second position to generate a second point cloud. At step 406,the first point cloud and the second point cloud are registered togenerate a point cloud pair by aligning each of the data points in thefirst point cloud to each of the corresponding data points in the secondpoint cloud. At step 408, a quality score is determined for thegenerated point cloud pair. At step 410, the determined quality score iscompared with a predefined threshold value. At step 412, a point cloudmap is generated using the first point cloud and the second point cloudif the determined quality score is less than a predefined thresholdvalue.

Modifications to embodiments of the present disclosure described in theforegoing are possible without departing from the scope of the presentdisclosure as defined by the accompanying claims. Expressions such as“including”, “comprising”, “incorporating”, “have”, “is” used todescribe and claim the present disclosure are intended to be construedin a non-exclusive manner, namely allowing for items, components orelements not explicitly described also to be present. Reference to thesingular is also to be construed to relate to the plural.

The invention claimed is:
 1. A system for generating a point cloud mapof one or more objects in a real-world environment, the systemcomprising: at least one data acquisition device for acquiring aplurality of data points representing one or more objects, wherein theat least one data acquisition device is configured to: acquire a firstset of data points for the one or more objects from a first position togenerate a first point cloud, and acquire a second set of data pointsfor the one or more objects from a second position to generate a secondpoint cloud; a server arrangement communicatively coupled to the dataacquisition device, wherein the server arrangement comprises: areceiving module configured to receive the first point cloud and thesecond point cloud from the data acquisition device; a registrationmodule configured to register the received first point cloud and thereceived second point cloud to generate a point cloud pair which isaligned; and a data processing module configured to: determine a qualityscore for the generated point cloud pair, compare the determined qualityscore with a predefined threshold value, and generate a point cloud mapusing the first point cloud and the second point cloud if the determinedquality score is less than a predefined threshold value; wherein thedata processing module is configured to determine the quality scorebased on an error value for the generated point cloud pair, calculatedas:E(r)=√{square root over (Σ_(x∈S) _(r) (d(x,T))² /|S _(r)|)}, and wherein‘S’ represents the first point cloud, ‘T’ represents the second pointcloud, ‘x’ represents the data points in the first point cloud ‘S_(r)’,d(x,T) is the distance from each data point ‘x’ in the first point cloud‘S_(r)’ to the closest data point in the second point cloud ‘T’, ‘r’represents radius defined for pairing of each of the plurality of datapoints in the first point cloud ‘S’ to the corresponding data point inthe second point cloud ‘T’, and S_(r) represents set of all data points‘x’ from the first point cloud ‘S’ satisfying d(x,T)<r.
 2. The systemaccording to claim 1, wherein the data processing module is furtherconfigured to calculate a rate of change of the error value for thegenerated point cloud pair between corresponding pairs of data pointsthereof.
 3. The system according to claim 1, wherein the quality scoreis an error value with a context dependent ‘r’ if the rate of change ofthe error value is less than a predetermined change threshold value. 4.The system according to claim 1, wherein the radius ‘r’ is defined basedon at least one of the one or more objects and the real-worldenvironment.
 5. The system according to claim 1, wherein the thresholdvalue is determined based on at least one of the one or more objects andthe real-world environment.
 6. The system according to claim 1, whereinthe at least one data acquisition device comprises one or more of aLIDAR, a RADAR a 3D scanner and a camera.
 7. The system according toclaim 1, wherein the system comprises two data acquisition devicesarranged at two different positions, and wherein one of the two dataacquisition device is configured to acquire the first point cloud andother of the two data acquisition device is configured to acquire thesecond point cloud.
 8. The system according to claim 1, wherein thesystem comprises one data acquisition device mounted on a vehicleoperable to move between the first position and the second position, andwherein the data acquisition device is configured to acquire the firstpoint cloud when the vehicle is at the first position and the secondpoint cloud when the vehicle is at the second position.
 9. The systemaccording to claim 1, wherein the data processing module is furtherconfigured to instruct the registration module to register the firstpoint cloud and a third point cloud to generate another point cloud pairif the determined quality score is less than the predefined thresholdvalue.
 10. The system according to claim 1, wherein the generated pointcloud map is implemented for autonomous driving of a vehicle.
 11. Amethod for generating a point cloud map of one or more objects in areal-world environment, the method comprising: acquiring a first set ofdata points for the one or more objects from a first position togenerate a first point cloud; acquiring a second set of data points forthe one or more objects from a second position to generate a secondpoint cloud; registering the first point cloud and the second pointcloud to generate a point cloud pair which is aligned; determining aquality score for the generated point cloud pair; comparing thedetermined quality score with a predefined threshold value; andgenerating a point cloud map using the first point cloud and the secondpoint cloud if the determined quality score is less than a predefinedthreshold value; wherein the data processing module is configured todetermine the quality score based on an error value for the generatedpoint cloud pair, calculated as:E(r)=√{square root over (Σ_(x∈S) _(r) (d(x,T))² /|S _(r)|)}, and wherein‘S’ represents the first point cloud, ‘T’ represents the second pointcloud, ‘x’ represents the data points in the first point cloud ‘S_(r)’,d(x,T) is the distance from each data point ‘x’ in the first point cloud‘S_(r)’ to the closest data point in the second point cloud ‘T’, ‘r’represents radius defined for pairing of each of the plurality of datapoints in the first point cloud ‘S’ to the corresponding data point inthe second point cloud ‘T’, and S_(r) represents set of all data points‘x’ from the first point cloud ‘S’ satisfying d(x,T)<r.
 12. The methodaccording to claim 11, further comprising registering the first pointcloud and a third point cloud to generate another point cloud pair, ifthe determined quality score exceeds the predefined threshold value. 13.The method according to claim 11, further comprising using the generatedpoint cloud map for controlling autonomous vehicle.
 14. The methodaccording to claim 13, further comprising varying the predeterminedthreshold value based on driving conditions of the autonomous vehicle.